/*
 * AuroraGUI_Beans.java
 *
 * Created on August 4, 2008, 9:16 PM
 */

package gui;

import javax.swing.table.TableModel;

/**
 * 
 * @author Jason
 */
public abstract class AuroraGUI_Beans extends javax.swing.JFrame {

	/** Creates new form AuroraGUI_Beans */
	public AuroraGUI_Beans() {
		initComponents();
	}

	protected abstract TableModel createQueueTableModel();

	protected abstract TableModel createLibraryTableModel();

	public abstract void changeLibraryLocation();

	public abstract void exit();

	/**
	 * This method is called from within the constructor to initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is always
	 * regenerated by the Form Editor.
	 */
	@SuppressWarnings("unchecked")
	// <editor-fold defaultstate="collapsed" desc="Generated Code">
	private void initComponents() {

		jSplitPane1 = new javax.swing.JSplitPane();
		jPanel1 = new javax.swing.JPanel();
		jSplitPane2 = new javax.swing.JSplitPane();
		jPanel2 = new javax.swing.JPanel();
		jScrollPane1 = new javax.swing.JScrollPane();
		libraryTable = new javax.swing.JTable();
		jPanel3 = new javax.swing.JPanel();
		jScrollPane2 = new javax.swing.JScrollPane();
		queueTable = new javax.swing.JTable();
		jMenuBar1 = new javax.swing.JMenuBar();
		jMenu1 = new javax.swing.JMenu();
		jMenuItem2 = new javax.swing.JMenuItem();
		jMenuItem1 = new javax.swing.JMenuItem();

		setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
		setTitle("Aurora");
		addWindowListener(new java.awt.event.WindowAdapter() {
			@Override
			public void windowClosing(java.awt.event.WindowEvent evt) {
				closing(evt);
			}
		});

		jSplitPane1.setDividerLocation(128);
		jSplitPane1.setDividerSize(3);
		jSplitPane1.setEnabled(false);

		javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(
				jPanel1);
		jPanel1.setLayout(jPanel1Layout);
		jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 127,
				Short.MAX_VALUE));
		jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 569,
				Short.MAX_VALUE));

		jSplitPane1.setLeftComponent(jPanel1);

		jSplitPane2.setDividerLocation(128);
		jSplitPane2.setDividerSize(3);
		jSplitPane2.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
		jSplitPane2.setEnabled(false);

		libraryTable.setModel(createLibraryTableModel());
		jScrollPane1.setViewportView(libraryTable);

		javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(
				jPanel2);
		jPanel2.setLayout(jPanel2Layout);
		jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
				jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 543,
				Short.MAX_VALUE));
		jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
				jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING,
				javax.swing.GroupLayout.DEFAULT_SIZE, 437, Short.MAX_VALUE));

		jSplitPane2.setBottomComponent(jPanel2);

		queueTable.setModel(createQueueTableModel());
		jScrollPane2.setViewportView(queueTable);

		javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(
				jPanel3);
		jPanel3.setLayout(jPanel3Layout);
		jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
				jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 543,
				Short.MAX_VALUE));
		jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
				jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 127,
				Short.MAX_VALUE));

		jSplitPane2.setLeftComponent(jPanel3);

		jSplitPane1.setRightComponent(jSplitPane2);

		jMenu1.setText("File");

		jMenuItem2.setText("Change Library Location...");
		jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				changeLibraryLocation(evt);
			}
		});
		jMenu1.add(jMenuItem2);

		jMenuItem1.setText("Exit");
		jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				exitPressed(evt);
			}
		});
		jMenu1.add(jMenuItem1);

		jMenuBar1.add(jMenu1);

		setJMenuBar(jMenuBar1);

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
				jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 677,
				Short.MAX_VALUE));
		layout.setVerticalGroup(layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
				jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 571,
				Short.MAX_VALUE));

		pack();
	}// </editor-fold>

	private void closing(java.awt.event.WindowEvent evt) {
		exit();
	}

	private void exitPressed(java.awt.event.ActionEvent evt) {
		exit();
	}

	private void changeLibraryLocation(java.awt.event.ActionEvent evt) {
		changeLibraryLocation();
	}

	// Variables declaration - do not modify
	protected javax.swing.JMenu jMenu1;
	protected javax.swing.JMenuBar jMenuBar1;
	protected javax.swing.JMenuItem jMenuItem1;
	protected javax.swing.JMenuItem jMenuItem2;
	protected javax.swing.JPanel jPanel1;
	protected javax.swing.JPanel jPanel2;
	protected javax.swing.JPanel jPanel3;
	protected javax.swing.JScrollPane jScrollPane1;
	protected javax.swing.JScrollPane jScrollPane2;
	protected javax.swing.JSplitPane jSplitPane1;
	protected javax.swing.JSplitPane jSplitPane2;
	protected javax.swing.JTable libraryTable;
	protected javax.swing.JTable queueTable;
	// End of variables declaration

}
